#include <stdio.h>
#include <string.h>

void
menucadastroproduto(int *codprodutopont, char *nomeprodutopont, float *valorprodutopont, int *vetorDeCodigos, int *qtdadeCodigos);
void cadastrarProduto(int *codprodutopont, char **nomeprodutopont, float *valorprodutopont, int *vetorDeCodigos, int *qtdadeCodigos);

void main() {
	int telainiciar, telaadministracao;
	int vetorDeCodigos[300], codProdutoVetor[300], qtdadeCodigos = 0;
	float valorProdutoVetor[300];
	char nomeProdutoVetor[300][100];
	while (telainiciar != 4) {
		printf(" 1 - venda \n 2 - relátorio \n 3 - Administração \n 4 - Sair \n");
		scanf("%d", &telainiciar);
		int auxAdm = 0, i; //para quando retornar os loops, voltar zerado;
		//int auxRela = 0;
		//int auxVenda = 0;
		switch (telainiciar) {
		case 1:
			//
			printf("primeiro");
			break;
		case 2:
			fputs(nomeProdutoVetor[4],stdout);
			printf("\n o código é: %d o nome é %s o valor é %0.2f\n", codProdutoVetor[4], nomeProdutoVetor[4], valorProdutoVetor[4]);

			break;
		case 3:
			while (auxAdm == 0) {
				printf(" 1 - Cadastrar produto \n 2 - Voltar \n");
				scanf("%d", &telaadministracao);
				switch (telaadministracao) {
				case 1:
					menucadastroproduto(codProdutoVetor, &nomeProdutoVetor[0][0], valorProdutoVetor, vetorDeCodigos, &qtdadeCodigos);
					break;
				default:
					auxAdm = 1;
					break;
				}
			}
			break;
		case 4:
			printf("\nsaindo...\n");
			break;
		default: {
			printf("\nopcao invalida, tente novamente.\n");
			break;
		}
		}
	}
}
void menucadastroproduto(int *codprodutopont, char *nomeprodutopont, float *valorprodutopont, int *vetorDeCodigos, int *qtdadeCodigos) {
	int auxCadastro = 0, escolhaCadastro, codProduto;

	while (auxCadastro == 0) {
		printf(" 1 - Cadastrar novo produto \n 2 - Modificar produto \n 3 - Sair \n ");
		scanf("%d", &escolhaCadastro);
		getchar();
		switch (escolhaCadastro) {
		case 1:
			cadastrarProduto(codprodutopont, &nomeprodutopont, valorprodutopont, vetorDeCodigos, qtdadeCodigos);
			break;
		case 2:
			printf("Digite o Código do produto: \n");
			scanf("%d", &codProduto);
			//modificarProdutos(codProduto, '\0', 0);
			break;
		case 3:
			auxCadastro = 1;
		default:
			break;
		}
	}
}

void cadastrarProduto(int *codprodutopont, char **nomeprodutopont, float *valorprodutopont, int *vetorDeCodigos, int *qtdadeCodigos) {
	int codproduto, i;
	char nomeproduto[100];
	float valorproduto;
	int jaCadastrado = 0;

	printf("Digite o código do produto: \n");
	scanf("%d", &codproduto);
	getchar();

	printf("Digite o Nome do produto: \n");
	fgets(nomeproduto, 100, stdin);

	printf("Digite o Valor do Produto: \n");
	scanf("%f", &valorproduto);

	(*qtdadeCodigos)++;
	for (i = 0; i < (*qtdadeCodigos + 1); i++) {
		if (vetorDeCodigos[i] == codproduto) {
			printf("O produto já esta cadastrado");
			jaCadastrado = 1;
		}
	}

	if (jaCadastrado == 0) {
		vetorDeCodigos[*qtdadeCodigos] = codproduto;
		codprodutopont[codproduto] = codproduto;
		printf("----%d-----", codprodutopont[codproduto]);
		strcpy(nomeprodutopont[codproduto], nomeproduto);
		valorprodutopont[codproduto] = valorproduto;

	}
	fputs(nomeprodutopont[codproduto],stdout);
}

/*
 void modificarProdutos(int codProdutoMod, char nomeProdutoMod[100],
 float valorProdutoMod) {
 printf(" Modificar: \n");
 printf("O Código esta:%d \n", codProdutoMod);
 printf("Digite o valor do novo Código:\n");
 scanf("%d", &codProdutoMod);
 printf("O nome esta:%s \n", nomeProdutoMod);
 printf("Digite o novo nome:\n");
 scanf("%s", &nomeProdutoMod);
 printf("O Código esta:%f \n", valorProdutoMod);
 printf("Digite o valor novo é:\n");
 scanf("%f", &valorProdutoMod);

 }
 */
